#pragma once
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
template<class T>
class Nodo
{
private:
	Nodo* siguiente;
	T* info;

public:
	Nodo(Nodo*, T *);
	virtual ~Nodo();

	virtual Nodo* getSigNodo();
	virtual T* getInfo();
	void setSigNodo(Nodo *);
	void setInfo(T *);
};

template<class T>
Nodo<T>::Nodo(Nodo<T>* siguiente, T* inf): siguiente(siguiente), info(inf)
{}

template<class T>
Nodo<T>::~Nodo(){}

template<class T>
Nodo<T>* Nodo<T>::getSigNodo()
{
	return siguiente;
}

template<class T>
T* Nodo<T>::getInfo()
{
	return info;
}

template<class T>
void Nodo<T>::setSigNodo(Nodo<T> * nod){

	siguiente=nod;


}

template<class T>
void Nodo<T>::setInfo(T * inf){

	info=inf;

}